const mongoose = require('../dao/connectDB')
const { nanoid } = require('nanoid')

const Schema = mongoose.Schema

// 设计集合
const topicSchema = new Schema({
    topicId: {
        type: String,
        default: () => nanoid()
    },
    author: {
        type: String,
        required: true
    },
    created_time: {
        type: Date,
        // 注意不要写Date.now(), 因为会即刻调用，造成每次使用users的时候就会同一个时间不会改变
        // 当new 一个model的时候，就会自动调用
        default: Date.now
    },
    updated_time: {
        type: Date,
        default: Date.now
    },
    // 文章标题
    title: {
        type: String,
        required: true
    },
    // 文章内容
    content: {
        type: String,
        required: true
    },
    // 文章的状态
    status: {
        type: Number,
        /* 
            0 没有权限限制
            1 不可以评论
            2 封禁文章
        */
        enum: [0, 1, 2],
        default: 0
    }
})

// 暴露users集合模型
module.exports = mongoose.model('Topic', topicSchema)